MATLAB与STK互联34:卫星对象操作(17) 您所在的位置:网站首页 matlab与stk互联 force model MATLAB与STK互联34:卫星对象操作(17)

MATLAB与STK互联34:卫星对象操作(17)

2024-01-25 17:40| 来源: 网络整理| 查看: 265

又好久没有更新博文了,继续更新起来。 本文探讨Maneuver设置,Maneuver是设置卫星轨道机动速度增量的段,主要包括:有限推力模式(finite )、脉冲模式(impulsive)、优化的有限推力模式(optimal finite)。我目前只用过前两种。下面先解释一下有限推力模式、脉冲模式的概念: 脉冲模式:是指速度增量为瞬间增加,不需要一段时间,所以称为脉冲模式; 有限推力模式:是指速度增量的产生,需要推力器工作一段时间,是一个累积量。比如100kg航天器、100N发动机工作100s,可简单的用牛顿第二定律估算一下。 显然有限推力模式是卫星在轨执行轨道调整的方式。 这里还是利用一个霍夫曼转移的案例,来看一下Maneuver的操作方式。下面上代码: uiap = actxserver(‘STK11.application’); root = uiap.Personality2; root.NewScenario(‘man’); sc = root.CurrentScenario(); sat = sc.Children.New(18,‘mysat’); sat.SetPropagatorType(‘ePropagatorAstrogator’); satMS = sat.Propagator.MainSequence; satMS.RemoveAll(); mytar = satMS.Insert(‘eVASegmentTypeTargetSequence’,‘mytar’,’-’); myin = mytar.Segments.Insert(‘eVASegmentTypeInitialState’,‘myin’,’-’); %设置卫星初始参数 myin.SetElementType(‘eVAElementTypeKeplerian’); myin.Element.ApoapsisAltitudeShape = 500; myin.Element.PeriapsisAltitudeSize = 400; %添加Maneuver模块 myma1 = mytar.Segments.Insert(‘eVASegmentTypeManeuver’,‘myma1’,’-’); %通过以下语句,修改推力器类型。改为有限推力 myma1.SetManeuverType(‘eVAManeuverTypeFinite’); 执行以下语句,就可以选择推力器模型。 myma1.Maneuver.SetPropulsionMethod(‘eVAPropulsionMethodEngineModel’,‘mythruster’); 改为有限推力后,还要选择推力器的模型,如下图所示: 在这里插入图片描述 在这里插入图片描述 推力器模型有上述几种形式。其中mythruster是我自己建的,另一种颜色是软件自带的。 mythruster是我新建的一个推力器模型,如果不通过交互方式新建,可以选用如下的方式新建推力器模型: 步骤1:点击下图的菜单 在这里插入图片描述 在这里插入图片描述 选择component browser,进而按照下图进行操作。 在这里插入图片描述 这时就会出现Engine Model。右侧中就出现了刚看到的推力器模型。默认的推力器模型有:常值推力-常值比冲式,我用的就是这个。自己想建啥类型的就单击一下,然后点Duplicate就会新建了,新建的时候修改名称。 在这里插入图片描述 红色圈里的数据,都可以双击修改。这里就不进行演示了。

上面是不通过交互式创建新的推力器模型,接下来通过交互方式新建推力器模型。 通过以下语句,获取component browser的控制句柄。 compBrowser = sc.ComponentDirectory.GetComponents(‘eComponentAstrogator’).GetFolder(‘Engine Models’); %新建名称为:mythruster2的推力器模型,并获取控制句柄 mythrustermodel = compBrowser.DuplicateComponent(‘Constant Thrust and Isp’,‘mythruster2’); mythrustermodel.get 在这里插入图片描述 通过以下语句修改推力与比冲: %修改推力为3000N,比冲为310s mythrustermodel.Thrust = 3000; mythrustermodel.Isp= 310; mythrustermodel.get

在这里插入图片描述 修改成功。下面继续操作,将Maneuver中的推力器模型设置为新建的mythruster2,执行以下语句: myma1.Maneuver.SetPropulsionMethod(‘eVAPropulsionMethodEngineModel’,‘mythruster2’);

这篇博文已经够长了,就先写到这里吧。请大家批评指正



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有